package com.lmiot.xyclick.Bean.SQL;

import java.util.Map;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

public class DaoSession extends AbstractDaoSession {
    private final ActionBeanDao actionBeanDao;
    private final DaoConfig actionBeanDaoConfig;
    private final AutoBeanDao autoBeanDao;
    private final DaoConfig autoBeanDaoConfig;
    private final FGBeanDao fGBeanDao;
    private final DaoConfig fGBeanDaoConfig;
    private final FriendBeanDao friendBeanDao;
    private final DaoConfig friendBeanDaoConfig;
    private final GroupBeanDao groupBeanDao;
    private final DaoConfig groupBeanDaoConfig;
    private final SaveVoiceBeanDao saveVoiceBeanDao;
    private final DaoConfig saveVoiceBeanDaoConfig;
    private final SearchBeanDao searchBeanDao;
    private final DaoConfig searchBeanDaoConfig;

    public DaoSession(Database database, IdentityScopeType identityScopeType, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig> map) {
        super(database);
        DaoConfig clone = map.get(ActionBeanDao.class).clone();
        this.actionBeanDaoConfig = clone;
        clone.initIdentityScope(identityScopeType);
        DaoConfig clone2 = map.get(AutoBeanDao.class).clone();
        this.autoBeanDaoConfig = clone2;
        clone2.initIdentityScope(identityScopeType);
        DaoConfig clone3 = map.get(FGBeanDao.class).clone();
        this.fGBeanDaoConfig = clone3;
        clone3.initIdentityScope(identityScopeType);
        DaoConfig clone4 = map.get(FriendBeanDao.class).clone();
        this.friendBeanDaoConfig = clone4;
        clone4.initIdentityScope(identityScopeType);
        DaoConfig clone5 = map.get(GroupBeanDao.class).clone();
        this.groupBeanDaoConfig = clone5;
        clone5.initIdentityScope(identityScopeType);
        DaoConfig clone6 = map.get(SaveVoiceBeanDao.class).clone();
        this.saveVoiceBeanDaoConfig = clone6;
        clone6.initIdentityScope(identityScopeType);
        DaoConfig clone7 = map.get(SearchBeanDao.class).clone();
        this.searchBeanDaoConfig = clone7;
        clone7.initIdentityScope(identityScopeType);
        ActionBeanDao actionBeanDao2 = new ActionBeanDao(clone, this);
        this.actionBeanDao = actionBeanDao2;
        AutoBeanDao autoBeanDao2 = new AutoBeanDao(clone2, this);
        this.autoBeanDao = autoBeanDao2;
        FGBeanDao fGBeanDao2 = new FGBeanDao(clone3, this);
        this.fGBeanDao = fGBeanDao2;
        FriendBeanDao friendBeanDao2 = new FriendBeanDao(clone4, this);
        this.friendBeanDao = friendBeanDao2;
        GroupBeanDao groupBeanDao2 = new GroupBeanDao(clone5, this);
        this.groupBeanDao = groupBeanDao2;
        SaveVoiceBeanDao saveVoiceBeanDao2 = new SaveVoiceBeanDao(clone6, this);
        this.saveVoiceBeanDao = saveVoiceBeanDao2;
        SearchBeanDao searchBeanDao2 = new SearchBeanDao(clone7, this);
        this.searchBeanDao = searchBeanDao2;
        registerDao(ActionBean.class, actionBeanDao2);
        registerDao(AutoBean.class, autoBeanDao2);
        registerDao(FGBean.class, fGBeanDao2);
        registerDao(FriendBean.class, friendBeanDao2);
        registerDao(GroupBean.class, groupBeanDao2);
        registerDao(SaveVoiceBean.class, saveVoiceBeanDao2);
        registerDao(SearchBean.class, searchBeanDao2);
    }

    public void clear() {
        this.actionBeanDaoConfig.clearIdentityScope();
        this.autoBeanDaoConfig.clearIdentityScope();
        this.fGBeanDaoConfig.clearIdentityScope();
        this.friendBeanDaoConfig.clearIdentityScope();
        this.groupBeanDaoConfig.clearIdentityScope();
        this.saveVoiceBeanDaoConfig.clearIdentityScope();
        this.searchBeanDaoConfig.clearIdentityScope();
    }

    public ActionBeanDao getActionBeanDao() {
        return this.actionBeanDao;
    }

    public AutoBeanDao getAutoBeanDao() {
        return this.autoBeanDao;
    }

    public FGBeanDao getFGBeanDao() {
        return this.fGBeanDao;
    }

    public FriendBeanDao getFriendBeanDao() {
        return this.friendBeanDao;
    }

    public GroupBeanDao getGroupBeanDao() {
        return this.groupBeanDao;
    }

    public SaveVoiceBeanDao getSaveVoiceBeanDao() {
        return this.saveVoiceBeanDao;
    }

    public SearchBeanDao getSearchBeanDao() {
        return this.searchBeanDao;
    }
}
